package com.meilingcloud.activiti.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.meilingcloud.activiti.domain.ActWfStock;
import com.meilingcloud.activiti.domain.dto.ActWfStockSaveDto;
import com.meilingcloud.activiti.domain.vo.ActStockDetailVo;

import java.util.List;

/**
 * 出入库单据 Service接口
 *
 * @author chenl
 * @date 2021-03-15
 */
public interface IActWfStockService extends IService<ActWfStock> {

    /**
     * 查询列表
     */
    List<ActWfStock> queryList(ActWfStock actWfStock);

    /**
     * 查询出入库单据列表带任务状态
     */
    List<ActWfStock> queryStockWithTaskList(ActWfStock actWfStock);

    /**
     * 查询当前部门下所有出入库单据
     */
    List<ActWfStock> queryStockInDeptList(ActWfStock actWfStock, List<String> userNames);

    /**
     * 查询当前部门下的所有用户名
     */
    List<String> queryUserByDept();

    /**
     * 保存单据
     */
    boolean saveWfStock(ActWfStockSaveDto actWfStockSaveDto);

    /**
     * 完成流程
     */
    boolean completeStock(ActWfStock actWfStock);

    /**
     * 撤销流程
     */
    boolean revoke(String businessKey);

    ActStockDetailVo getStockDetail(String stockId);
}
